package com.gk.panda.apis.service;

import com.dahuatech.icc.exception.ClientException;
import com.gk.panda.apis.entity.DataVisualization.vo.*;

import java.util.Map;

/**
 * @ClassName: DataVisualizationService
 * @Description: 数据可视化
 * @author: Sir.yang
 * @date: 2022/11/9 11:40
 * @version: 1.0
 **/
public interface DataVisualizationService {

    /**
     * @description: 获取靶向短信登录地址
     * @param: []
     * @return: java.lang.String
     * @date: 2022/11/9 11:42
     * @version: 1.0
     **/
    String getSmsLoginUrl();

    /**
     * @description: 获取靶向短信统计数据
     * @param: []
     * @return: com.gk.panda.apis.entity.DataVisualization.vo.TargetedSmsDataVo
     * @date: 2022/11/9 11:50
     * @version: 1.0
     **/
    TargetedSmsDataVo getTargetedSmsData();

    /**
     * @description: 区域热力人数数据统计
     * @param: []
     * @date: 2022/11/11 14:13
     * @version: 1.0
     **/
    Map<String,Object> getElectronicFenceCount() throws Exception;

    /**
     * @description: 监控设备数据统计
     * @param: []
     * @return: com.gk.panda.apis.entity.DataVisualization.vo.MonitoringEquipmentVo
     * @date: 2022/11/11 14:13
     * @version: 1.0
     *
     * @param orgId*/
    MonitoringEquipmentVo getMonitoringEquipmentCount(String orgId);

    /**
     * @description: 巡护样线数据统计
     * @param: []
     * @return: java.lang.Integer
     * @date: 2022/11/11 14:13
     * @version: 1.0
     *
     * @param orgId*/
    Integer getTransectCount(String orgId);

    /**
     * @description: 生物多样性数据统计
     * @param: []
     * @return: com.gk.panda.apis.entity.DataVisualization.vo.BiodiversityCountVo
     * @date: 2022/11/11 14:13
     * @version: 1.0
     *
     * @param orgId*/
    BiodiversityCountVo getBiodiversityCount(String orgId);

    /**
     * @description: 实时抓怕数据统计
     * @param: []
     * @return: java.lang.Integer
     * @date: 2022/11/11 14:13
     * @version: 1.0
     **/
    Map<String,Object> getRealTimeFearCount() throws ClientException;

    /**
     * @description: 巡护里程数据统计
     * @param: []
     * @return: com.gk.panda.apis.entity.DataVisualization.vo.PatrolMileageCountVo
     * @date: 2022/11/11 14:13
     * @version: 1.0
     *
     * @param orgId*/
    PatrolMileageCountVo getPatrolMileageCount(String orgId);

    /**
     * @description: 巡护事件数据统计
     * @param: []
     * @return: com.gk.panda.apis.entity.DataVisualization.vo.PatrolIncidentsCountVo
     * @date: 2022/11/11 14:13
     * @version: 1.0
     *
     * @param orgId*/
    PatrolIncidentsCountVo getPatrolIncidentsCount(String orgId);
}
